#ifndef MAINWINDOW_H
#define MAINWINDOW_H

#include <QMainWindow>

#include <QNetworkAccessManager>
#include <QNetworkReply>
#include <QFile>
#include <QNetworkRequest>

QT_BEGIN_NAMESPACE
namespace Ui
{
    class MainWindow;//这个类由UIC生成
}
QT_END_NAMESPACE

class MainWindow : public QMainWindow
{
    Q_OBJECT

public:
    MainWindow(QWidget* parent = nullptr);
    ~MainWindow();

private:
    Ui::MainWindow* ui;

private:
    QNetworkAccessManager* networkManager; // 网络管理
    QNetworkReply* reply;                  // 网络响应
    QFile* downloadFile;                   // 下载保存的临时文件
private:
    /**
     * @brief 读取下载的数据
     */
    void do_readyRead(void);
    /**
     * @brief 网络响应结束
     */
    void do_finished(void);
    /**
     * @brief 下载进度
     * @param bytesRead
     * @param totalBytes
     */
    void do_downloadProgress(int64_t bytesRead, int64_t totalBytes);
};
#endif // MAINWINDOW_H
